import axios, {AxiosResponse} from "axios";
import {ElMessage} from "element-plus";
axios.defaults.withCredentials = true
// 创建实例
const service = axios.create({
    baseURL:"/api",  // 后台服务器地址   基础+addGame
    timeout:5000, // 超时
    headers:{
        "Content-Type":"application/json;charset=utf-8"  //json 跨域：
    }
})
//请求拦截  token 令牌、身份id
//@ts-ignore
service.interceptors.request.use(
    (config: any)=> {
        console.log(config,'config==')
        return config;
    },
    (error:any)=> {
        // 对请求错误做些什么
        console.log(error,'error')
        return Promise.reject(error);
    }
);
// 对响应数据拦截
service.interceptors.response.use(
    (response: AxiosResponse)=> {
        //response参数是响应对象
        console.log(response,'response==')
        const { data, status } = response
        switch (data.code) {
            case 401:
                ElMessage.error({message:data.message,duration:1000})
                // ElMessage 弹出信息 error  错误   success 成功   duration;多少时间消失
                return Promise.reject(response)
            default:
                ElMessage.success({message:data.message,duration:1000})
        }
        return response;
    },
    (error:any)=> {
        const { response} = error
        const { status, data } = response
        ElMessage.error({message:data.message,duration:1000})

        // 对响应错误做点什么
        return Promise.reject(error);
    }
);

export default service